var that = this;
var session;
function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()


  return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

/**
 * 封封微信的的request
 */
function request(url, data = {}, method = "GET") {
  return new Promise(function (resolve, reject) {
    wx.request({
      url: url,
      data: data,
      method: method,
      header: {
        'Content-Type': 'application/json',
      },
      success: function (res) {
        console.log("success");

        if (res.statusCode == 200) {

          // if (res.data.errno == 401) {
          //   //需要登录后才可以操作
          //   let code = null;
          //   return login().then((res) => {
          //     code = res.code;
          //     return getUserInfo();
          //   }).then((userInfo) => {
          //     console.log(userInfo); 
          //   }).catch((err) => {
          //     reject(err);
          //   })
          // } else {
            resolve(res.data);
          // }
        } else {
          reject(res.errMsg);
        }

      },
      fail: function (err) {
        reject(err)
        console.log("failed")
      }
    })
  });
}

/**
 * 检查微信会话是否过期
 */
function checkSession() {
  return new Promise(function (resolve, reject) {
    wx.checkSession({
      success: function () {
        resolve(true);
      },
      fail: function () {
        reject(false);
      }
    })
  });
}

/**
 * 调用微信登录
 */
function login() {
  return new Promise(function (resolve, reject) {
    wx.login({
      success: function (res) {
  //       if (res.code) {
  //         resolve(res);
  //         console.log(res);
  //         let data = {
  //           appid: 'wxe1b379eb730a93f1',
  //           secret: 'a35bb18c1dec0e8a10c2fbe4e729189e'
  // };
  //         let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + data.appid + '&secret=' + data.secret + '&js_code=' + res.code + '&grant_type=authorization_code';
  //         wx.request({
  //           url: url,
  //           data: {},
  //           method: 'GET', 
  //           success: function (res) {
  //             console.log(res);
  //           }
  //         });
  //       } else {
  //         reject(res);
  //       }
      },
      fail: function (err) {
        reject(err);
      }
    });
  });
}

function getUserInfo() {
  return new Promise(function (resolve, reject) {
    wx.getUserInfo({
      withCredentials: true,
      success: function (res) {
        resolve(res);
        var objz = {};
        objz.avatarUrl = res.userInfo.avatarUrl;
        objz.nickName = res.userInfo.nickName;
        wx.setStorageSync('userInfo', objz);
      },
      fail: function (err) {
        reject(err);
      }
    })
  });
}

function redirect(url) {

  //判断页面是否需要登录
  if (false) {
    wx.redirectTo({
      url: '/pages/auth/login/login'
    });
    return false;
  } else {
    wx.redirectTo({
      url: url
    });
  }
}

function showErrorToast(msg) {
  wx.showToast({
    title: msg,
    image: '/static/images/icon_error.png'
  })
}

module.exports = {
  formatTime,
  request,
  redirect,
  showErrorToast,
  checkSession,
  login,
  getUserInfo,
}


